Receiver for and method of recovering transmitted symbols in a H-ARQ packet retransmission

ABSTRACT

A receiver and method for recovering transmitted symbols in a H-ARQ packet retransmission. The method includes receiving a communication signal; determining components of the signal that are not attributed to the desired symbols; removing the unwanted components from the signal to generate a modified communication signal; determining the effective channel impulse response for the modified communication signal; generating a block filter using the effective channel impulse response; and filtering the modified communication signal using the block filter to remove the inter-code interference in the modified communication signal and recover the desired symbols.

FIELD OF THE INVENTION

[0001] The present invention relates generally to the field of communication systems, and more particularly, to a receiver for and method of recovering transmitted symbols in a communication signal of a H-ARQ packet retransmission.

BACKGROUND OF THE INVENTION

[0002] High speed data service is supported in 1X EV-DV (“Physical Layer Standard for cdma2000 Spread Spectrum Systems, Release C) or HSDPA (“High Speed Downlink Packet Access: Physical Layer Aspects,” 3GPP TR 25.858) by using high level modulations, such as 16-QAM, and by using multiple channelization codes with smaller spreading factors. Reception of 16-QAM modulation symbols using a conventional RAKE receiver is very vulnerable in a multipath (dispersive) environment due to inter-code and inter-symbol interferences caused by diminished orthogonality among channelization codes. These structured interferences severely limit system peak data rate/throughput. High-speed data service is, however, considered to have most application in an urban area, where multipath channel is common. Therefore, a receiver with capabilities of mitigating inter-code and inter-symbol interferences is needed. For this purpose, such a receiver is proposed in copending patent application serial No. 60/360,382, assigned to the same assignee as the present application.

[0003] Hybrid ARQ (H-ARQ) is an implicit link adaptation technique. In adaptive modulation and coding (AMC), explicit carrier to interference (C/I) measurements or similar measurements are used to set the modulation and coding format. In H-ARQ, link layer acknowledgements are used for re-transmission decisions. There are many schemes for implementing H-ARQ, such as, Chase combining, Rate compatible Punctured Turbo codes and Incremental Redundancy. Incremental Redundancy or H-ARQ-type-II is another implementation of the H-ARQ technique wherein instead of sending simple repeats of the entire coded packet, additional redundant information is incrementally transmitted if the decoding fails on the first attempt.

[0004] H-ARQ retransmission is used in 1X EV-DV/HSDPA if some bits in a frame are not received correctly at a mobile unit. The retransmitted frame can be an exact copy of the previous frame (Chase Combining), or a subset of the previous frame (partial Chase Combining), or a different copy with different bits (Incremental Redundancy). However, all these retransmitted frames stem from the same systematic bits, and can thus be predicted at the mobile unit. Using this extra information, an enhanced decision feedback equalization scheme can be applied during the reception of H-ARQ retransmitted frames for further performance improvements.

BRIEF DESCRIPTION OF THE DRAWINGS

[0005]FIG. 1 is a block diagram of a pertinent part of a receiver in accordance with the preferred embodiment of the present invention.

[0006]FIG. 2 is a block diagram representation of the method of recovering transmitted symbols in a communication signal of a H-ARQ packet retransmission in accordance with the preferred embodiment of the present invention.

[0007]FIG. 3 is a flow diagram of the method of recovering transmitted symbols in a communication signal of a H-ARQ packet retransmission in accordance with the preferred embodiment of the present invention.

DETAILED DESCRIPTION OF THE DRAWINGS

[0008] The present invention provides a receiver for and method of recovering transmitted symbols in a communication signal of a H-ARQ packet retransmission. The method includes receiving a communication signal; determining unwanted components of the signal that are not attributed to desired transmitted symbols; removing the unwanted components from the signal to generate a modified communication signal; determining the effective channel impulse response; generating a block filter using the effective channel impulse response; and filtering the modified communication signal using the block filter to remove the inter-code interference in the modified communication signal and recover the desired symbols.

[0009] The receiver includes a receiver front end for receiving a transmitted signal of a H-ARQ packet retransmission and converting the transmitted signal into a baseband signal; a baseband signal processing block operatively coupled to the receiver front end for recovering transmitted symbols in the baseband signal by receiving a baseband signal, determining unwanted components of the signal that are not attributed to desired symbols, removing the unwanted components from the signal to generate a modified baseband signal, determining the effective channel impulse response, generating a block filter using the effective channel impulse response, and filtering the modified baseband signal using the block filter to remove the inter-code interference in the modified baseband signal to recover the transmitted symbols; and a back end operatively coupled to the baseband signal processing block for receiving the recovered symbols and routing the symbols to an intended application.

[0010]FIG. 1 is a block diagram of a pertinent part of a receiver 100 in accordance with the preferred embodiment of the present invention. The receiver 100 may be a receiver of a mobile station, a PC card, receivers of fixed wireless system, or the like. The receiver 100 includes an RF front end 102, a baseband signal processing block 104 and a baseband back end 106. The RF front end 102 receives signals from a transmitting device and converts the signals from radio frequency (RF) passband signals into baseband signals. The baseband signal processing block 104 receives the baseband signals and processes them to recover transmitted symbols of a H-ARQ packet retransmission in accordance with the present invention. The recovered data is sent to the baseband back end 106 and output to the intended application (e.g., web browser, video service, File Transfer Protocol (FTP) service, etc.).

[0011] Let b_(k)(n) denote the modulation symbol of code channel k at index n. The vector b(n)_(K×1)=[b₁(n)b₂(n) . . . b_(K)(n)]^(T) represents the modulation symbols of K code channels at index n. Let s_(k)(n) denote a channelization code (combining a Walsh code with a transmitter specific scrambling code) for code channel k at symbol index n. s_(k)(n) is a function of symbol index n when a long code (i.e., the code period is longer than a symbol duration) is used for scrambling, like in 1xEV-DV and HSDPA. s_(k)(n) would be the same at all indices n when a short code (i.e., the code period is equal to a symbol duration) is used for scrambling. The spreading length of s_(k)(n) is P in chips.

[0012] Channelization codes of the K channels can be grouped into a matrix S(n)=[s₁(n)s₂(n) . . . s_(K)(n)]_(P×K). A diagonal matrix A is used to represent the amplitudes of the code channels, $A = \begin{bmatrix} a_{1} & \quad & \quad & \quad & \quad \\ \quad & ⋰ & \quad & \quad & \quad \\ \quad & \quad & a_{k} & \quad & \quad \\ \quad & \quad & \quad & ⋰ & \quad \\ \quad & \quad & \quad & \quad & a_{K} \end{bmatrix}$

[0013] where a_(k), 1≦k≦K, denotes the amplitude of code channel k. Amplitudes of code channels do not change during a packet transmission, thus the matrix A and a_(k), 1≦k≦K, are not indexed by n. A transmitted baseband signal can be represented as the product of the channelization codes of K channels, the amplitudes of the code channels and the modulation symbols of the code channels, or u(n)=S(n)·A·b(n). Let a vector h=[h(0)h(1) . . . h(L)]_(t×(L+1)) represent the effective baseband channel impulse response (convolution of transmitter filter, multipath channel impulse response, and receiver filter) between the baseband transmitter (not shown in FIG. 1) and the baseband signal processing block 104, where complex variable h(i), 0≦i≦L, denotes the amplitude and phase response of a path at delay i, and L is the maximum delay in chip units. For simplicity of explanation, only delays in integer chips are considered herein; however, the generalization to sub-chip delays is straightforward and should be recognized by one of ordinary skill in the art. Channel matrices can then be constructed from h as $\begin{matrix} {{H_{l} = \begin{bmatrix} {h({lP})} & \cdots & {h\left( {{lP} - P + 1} \right)} \\ \vdots & ⋰ & \vdots \\ {h\left( {{lP} + P - 1} \right)} & \cdots & {h({lP})} \end{bmatrix}_{P \times P}},{0 \leq l \leq \left\lceil \frac{L}{P} \right\rceil}} & (1) \end{matrix}$

[0014] where ┌x┐ denotes the smallest integer number equal to or larger than x. With these denotations, information about A·b(n) is fully contained in ${y\left( {n + m} \right)},{0 \leq m \leq \left\lceil \frac{L}{P} \right\rceil},$

[0015] which can be represented by the following series of equations, $\begin{matrix} \begin{matrix} {{{y(n)} = {{H_{0} \cdot {S(n)} \cdot A \cdot {b(n)}} + {\sum\limits_{l = 0}^{\lceil\frac{L}{P}\rceil}\quad {{H_{l} \cdot S}{\left( {n - l} \right) \cdot A \cdot {b\left( {n - l} \right)}}}} + {w(n)}}}} \\ {{{y\left( {n + 1} \right)} = {{H_{0} \cdot {S\left( {n + 1} \right)} \cdot A \cdot {b\left( {n + 1} \right)}} + \quad {H_{1} \cdot {S(n)} \cdot A \cdot {b(n)}} + {\sum\limits_{l = 2}^{\lceil\frac{L}{P}\rceil}{H_{l} \cdot {S\left( {n + 1 - l} \right)} \cdot A \cdot {b\left( {n + 1 - l} \right)}}} + {w\left( {n + 1} \right)}}}\quad} \\ {\vdots \quad} \\ {{{y\left( {n + \left\lceil \frac{L}{P} \right\rceil} \right)} = {{\sum\limits_{l = 0}^{{\lceil\frac{L}{P}\rceil}^{- 1}}\quad {H_{l} \cdot {S\left( {n + \left\lceil \frac{L}{P} \right\rceil - l} \right)} \cdot A \cdot {b\left( {n + \left\lceil \frac{L}{P} \right\rceil - l} \right)}}} + {H_{\lceil\frac{L}{P}\rceil} \cdot {S(n)} \cdot A \cdot {b(n)}} + {w\left( {n + \left\lceil \frac{L}{P} \right\rceil} \right)}}}\quad} \end{matrix} & (3) \end{matrix}$

[0016] where ${H_{l} \cdot {S(n)}},{0 \leq l \leq \left\lceil \frac{L}{P} \right\rceil}$

[0017] causes inter-code interference, ${\sum\limits_{\underset{l \neq m}{l = 0}}^{\lceil\frac{L}{P}\rceil}{H_{l} \cdot {S\left( {n + m - l} \right)} \cdot A \cdot {b\left( {n + m - l} \right)}}},{0 \leq m \leq \left\lceil \frac{L}{P} \right\rceil}$

[0018] constitutes the unwanted components caused by symbols other than the desired symbols b(n), and ${w\left( {n + m} \right)},{0 \leq m \leq \left\lceil \frac{L}{P} \right\rceil}$

[0019] denotes the additive white Gaussian noise (AWGN) with covariance matrix σ²I_(K×K) (where I_(K×K) is a K×K identity matrix). Therefore, from the previous equations, $\begin{matrix} {{{{H_{m} \cdot {S(n)} \cdot A \cdot {b(n)}} + {w\left( {n + m} \right)}} = {{y\left( {n + m} \right)} - {\sum\limits_{\underset{l \neq m}{l = 0}}^{\lceil\frac{L}{P}\rceil}{H_{l} \cdot {S\left( {n + m - l} \right)} \cdot A \cdot {b\left( {n + m - l} \right)}}}}},{0 \leq m \leq {\left\lceil \frac{L}{P} \right\rceil.{Let}}}} & (4) \\ {{{\overset{\_}{y}\left( {n + m} \right)} = {{y\left( {n + m} \right)} - {\sum\limits_{\underset{l \neq m}{l = 0}}^{\lceil\frac{L}{P}\rceil}{H_{l} \cdot {S\left( {n + m - l} \right)} \cdot A \cdot {\overset{\_}{b}\left( {n + m - l} \right)}}}}},{0 \leq m \leq \left\lceil \frac{L}{P} \right\rceil}} & (5) \end{matrix}$

[0020] (as shown by 204 in FIG. 2), where b(n) is an estimate of b(n) from previous transmission(s) of the packet and where {overscore (y)}(n) is the baseband signal without components caused by symbols other than {overscore (b)}(n). If {overscore (b)}(n), the received or estimated symbol at index n, is the same as b(n), then from equations (4) and (5), $\begin{matrix} {{\overset{\_}{y}\left( {n + m} \right)} = {{{H_{m} \cdot {S(n)} \cdot A \cdot {b(n)}} + {{w\left( {n + m} \right)}\quad 0}} \leq m \leq {\left\lceil \frac{L}{P} \right\rceil.}}} & (6) \end{matrix}$

$\begin{matrix} {{{Stacking}\quad {up}\quad H_{m}},{\overset{\_}{y}\left( {n + m} \right)},{{and}\quad w\left( {n + m} \right)}\quad,\quad {0 \leq m \leq {\left\lceil \frac{L}{P} \right\rceil \quad {as}}},\text{}{\overset{\_}{\overset{\_}{H}} = {{\begin{bmatrix} \quad \\ H_{0} \\ \vdots \\ H_{\lceil\frac{L}{P}\rceil} \end{bmatrix}_{{\lceil\frac{L}{P}\rceil}P \times P}\quad \overset{\_}{\quad \overset{\_}{y}}} = {{\begin{bmatrix} \quad \\ {\overset{\_}{y}(n)} \\ \vdots \\ {\overset{\_}{y}\left( {n + \left\lceil \frac{L}{P} \right\rceil} \right)} \end{bmatrix}_{{{\lceil\frac{L}{P}\rceil} \cdot P} \times 1}\quad \overset{\_}{\overset{\_}{w}}} = \begin{bmatrix} \quad \\ {w(n)} \\ \vdots \\ {w\left( {n + \left\lceil \frac{L}{P} \right\rceil} \right)} \end{bmatrix}_{{{\lceil\frac{L}{P}\rceil} \cdot P} \times 1}}}}} & (7) \end{matrix}$

 we have {double overscore (H)}·S(n)·A·b(n)+{double overscore (w)}={double overscore (y)}.  (8)

[0021] As shown in FIG. 2 (element 202), a block filter

[0022] {double overscore (G)}(n)={[{double overscore (H)}·S(n)]^(H)·{double overscore (H)}·S(n)}⁻¹·[{double overscore (H)}·S(n)]^(H) can then be used to decorrelate the received signals (remove the inter-code interference), $\begin{matrix} {{{\overset{\_}{\overset{\_}{G}}(n)} \cdot \overset{\_}{\overset{\_}{y}}} = {{\left\{ {\left\lbrack {\overset{\_}{\overset{\_}{H}} \cdot {S(n)}} \right\rbrack^{H} \cdot \overset{\_}{\overset{\_}{H}} \cdot {S(n)}} \right\}^{- 1} \cdot \left\lbrack {\overset{\_}{\overset{\_}{H}} \cdot {S(n)}} \right\rbrack^{H} \cdot \overset{\_}{\overset{\_}{y}}} = {{\left\{ {\left\lbrack {\overset{\_}{\overset{\_}{H}} \cdot {S(n)}} \right\rbrack^{H} \cdot \overset{\_}{\overset{\_}{H}} \cdot {S(n)}} \right\}^{- 1} \cdot {\left\lbrack {\overset{\_}{\overset{\_}{H}} \cdot {S(n)}} \right\rbrack^{H}\left\lbrack {{{\overset{\_}{\overset{\_}{H}} \cdot S}{(n) \cdot A \cdot {b(n)}}} + \overset{\_}{\overset{\_}{w}}} \right\rbrack}} = {{A \cdot {b(n)}} + {\left\{ {\left\lbrack {\overset{\_}{\overset{\_}{H}} \cdot {S(n)}} \right\rbrack^{H} \cdot \overset{\_}{\overset{\_}{H}} \cdot {S(n)}} \right\}^{- 1} \cdot \left\lbrack {\overset{\_}{\overset{\_}{H}} \cdot {S(n)}} \right\rbrack^{H} \cdot \overset{\_}{\overset{\_}{w}}}}}}} & (9) \end{matrix}$

[0023] Quantities ${\overset{\_}{b}\left( {n + l} \right)},{{- \left\lceil \frac{L}{P} \right\rceil} \leq l \leq {- 1}},{{{and}\quad 1} \leq l \leq \left\lceil \frac{L}{P} \right\rceil}$

[0024] used in the above operation are estimated from previous transmission(s) of the packet. Depending on code rate and combining techniques results generated from decoding previous transmission(s) of the packet are appropriately punctured. The bits in the H-ARQ packet retransmission are predicted and used in modulation to generate the estimate of ${\overset{\_}{b}\left( {n + l} \right)},{{- \left\lceil \frac{L}{P} \right\rceil} \leq l \leq {- 1}},{{{and}\quad 1} \leq l \leq {\left\lceil \frac{L}{P} \right\rceil.}}$

[0025]FIG. 3 is a flow diagram of the preferred embodiment of the present invention. At step 302, the method initializes index n to 1. At step 304, the method receives baseband signal: $\begin{matrix} {{{y(n)} = {{H_{0} \cdot {S(n)} \cdot A \cdot (n)} + {\sum\limits_{l = 0}^{\lceil\frac{L}{P}\rceil}\quad {{H_{l} \cdot S}{\left( {n - l} \right) \cdot A \cdot {b\left( {n - l} \right)}}}} + {w(n)}}}} \\ {{{y\left( {n + 1} \right)} = {{H_{0} \cdot {S\left( {n + 1} \right)} \cdot A \cdot {b\left( {n + 1} \right)}} + \quad {H_{1} \cdot {S(n)} \cdot A \cdot {b(n)}} + {\sum\limits_{l = 0}^{\lceil\frac{L}{P}\rceil}{H_{l} \cdot {S\left( {n + 1 - l} \right)} \cdot A \cdot {b\left( {n + 1 - l} \right)}}} + {w\left( {n + 1} \right)}}}\quad} \\ {\vdots \quad} \\ {{{y\left( {n + \left\lceil \frac{L}{P} \right\rceil} \right)} = {{\sum\limits_{l = 0}^{{\lceil\frac{L}{P}\rceil}^{- 1}}\quad {H_{l} \cdot {S\left( {n + \left\lceil \frac{L}{P} \right\rceil - l} \right)} \cdot A \cdot {b\left( {n + \left\lceil \frac{L}{P} \right\rceil - l} \right)}}} + {H_{\lceil\frac{L}{P}\rceil} \cdot {S(n)} \cdot A \cdot {b(n)}} + {w\left( {n + \left\lceil \frac{L}{P} \right\rceil} \right)}}}\quad} \end{matrix}.$

[0026] At step 306, the method determines the components of ${y\left( {n + m} \right)},{0 \leq m \leq \left\lceil \frac{L}{P} \right\rceil}$

[0027] that are attributed to symbols other than b(n). From the baseband signal determined in step 304, we see that: (1) the components of y(n) attributed to symbols other than b(n) are ${\sum\limits_{l = 0}^{\lceil\frac{L}{P}\rceil}\quad {{H_{l} \cdot S}{\left( {n - l} \right) \cdot A \cdot {b\left( {n - l} \right)}}}};$

[0028] (2) the components of y(n+1) attributed to symbols other than b(n) are ${{H_{0} \cdot {S\left( {n + 1} \right)} \cdot A \cdot {b\left( {n + 1} \right)}} + {\sum\limits_{l = 0}^{\lceil\frac{L}{P}\rceil}{H_{l} \cdot {S\left( {n + 1 - l} \right)} \cdot A \cdot {b\left( {n + 1 - l} \right)}}}};$

[0029] and (3) the components of $y\left( {n + \frac{L}{P}} \right)$

[0030] attributed to symbols other than b(n) are $\sum\limits_{l = 0}^{{\lceil\frac{L}{P}\rceil}^{- 1}}\quad {H_{l} \cdot {S\left( {n + \left\lceil \frac{L}{P} \right\rceil - l} \right)} \cdot A \cdot {{b\left( {n + \left\lceil \frac{L}{P} \right\rceil - l} \right)}.}}$

[0031] At step 308, the method removes the components attributed to symbols other than b(n) from the received baseband signal ${y\left( {n + m} \right)},{0 \leq m \leq \left\lceil \frac{L}{P} \right\rceil}$

[0032] to generate modified baseband signals ${\overset{\_}{y}\left( {n + m} \right)},{0 \leq m \leq {\left\lceil \frac{L}{P} \right\rceil.}}$

[0033] In the preferred embodiment, the method subtracts the components determined in step 306 from the received baseband signal ${y\left( {n + m} \right)},{0 \leq m \leq \left\lceil \frac{L}{P} \right\rceil}$

[0034] received at step 304 to generate modified baseband signal ${\overset{\_}{y}\left( {n + m} \right)},{0 \leq m \leq {\left\lceil \frac{L}{P} \right\rceil.}}$

[0035] Specifically, $\begin{matrix} {{{\overset{\_}{y}(n)} = {{{y(n)} - {\sum\limits_{l = 1}^{\lceil\frac{L}{P}\rceil}\quad {H_{l} \cdot {S\left( {n - l} \right)} \cdot A \cdot {b\left( {n - l} \right)}}}} = {{H_{0} \cdot {S(n)} \cdot A \cdot {b(n)}} + {w(n)}}}},} \\ {{\overset{\_}{y}\left( {n + 1} \right)} = {{y\left( {n + 1} \right)} - {H_{0} \cdot {S\left( {n + 1} \right)} \cdot A \cdot {b\left( {n + 1} \right)}} - {\sum\limits_{l = 2}^{\lceil\frac{L}{P}\rceil}\quad {{H_{l} \cdot S}{\left( {n + 1 - l} \right) \cdot A \cdot {b\left( {n + 1 - l} \right)}}}}}} \\ {{~~~~~~~~~~~~~~~~~~}{= {{H_{1} \cdot {S(n)} \cdot A \cdot {b(n)}} + {{w\left( {n + 1} \right)}.}}}} \\ {{\overset{\_}{y}\left( {n + \left\lceil \frac{L}{P} \right\rceil} \right)} = {{y\left( {n + \left\lceil \frac{L}{P} \right\rceil} \right)} - {\sum\limits_{l = 0}^{{\lceil\frac{L}{P}\rceil} - 1}\quad {{H_{l} \cdot S}{\left( {n + \left\lceil \frac{L}{P} \right\rceil - l} \right) \cdot A \cdot {b\left( {n + \left\lceil \frac{L}{P} \right\rceil - l} \right)}}}}}} \\ {{~~~~~~~~~~~~~~~~~~~~~~~~~}{= {{H_{\lceil\frac{L}{P}\rceil}\quad \cdot {S(n)} \cdot A \cdot {b(n)}} + {{w\left( {n + \left\lceil \frac{L}{P} \right\rceil} \right)}.}}}} \end{matrix}$

[0036] At step 310, the method determines the effective channel impulse response matrix $\overset{\overset{\_}{\_}}{H} = {\begin{bmatrix} H_{0} \\  \cdot \\  \cdot \\ H_{\lceil\frac{L}{P}\rceil} \end{bmatrix}_{{\lceil\frac{L}{P}\rceil}{PxP}}.}$

[0037] At step 312, a block filter is generated as

[0038] {double overscore (G)}(n)={[{double overscore (H)}·S(n)]^(H)·{double overscore (H)}·S(n)}⁻¹·[{double overscore (H)}·S(n)]^(H). The block filter can then be used to decorrelate the received signal at step 313. In particular, at step 313, the method filters the stacked modified received baseband signal, that is generated from the modified baseband signal at step 308 as ${\overset{\overset{\_}{\_}}{y} = \begin{bmatrix} {\overset{\_}{y}(n)} \\  \cdot \\  \cdot \\ {\overset{\_}{y}\left( {n + \left\lceil \frac{L}{P} \right\rceil} \right)} \end{bmatrix}_{{\lceil\frac{L}{P}\rceil}{Px1}}},$

[0039] in order to remove the inter-code interference to recover the transmitted symbols. That is, block filter {double overscore (G)}(n) is multiplied by the stacked modified received baseband signal {double overscore (y)} to produce the transmitted symbols as follows: $\begin{matrix} {{A\quad {\overset{\_}{b}(n)}} = {{\overset{\overset{\_}{\_}}{G}(n)} \cdot \overset{\overset{\_}{\_}}{y}}} \\ {{= {\left\{ {\left\lbrack {\overset{\overset{\_}{\_}}{H} \cdot {S(n)}} \right\rbrack^{H} \cdot \overset{\overset{\_}{\_}}{H} \cdot {S(n)}} \right\}^{- 1} \cdot \left\lbrack {\overset{\overset{\_}{\_}}{H} \cdot {S(n)}} \right\rbrack^{H} \cdot \overset{\overset{\_}{\_}}{y}}}} \\ {{= {\left\{ {\left\lbrack {\overset{\overset{\_}{\_}}{H} \cdot {S(n)}} \right\rbrack^{H} \cdot \overset{\overset{\_}{\_}}{H} \cdot {S(n)}} \right\}^{- 1} \cdot {\left\lbrack {\overset{\overset{\_}{\_}}{H} \cdot {S(n)}} \right\rbrack^{H}\left\lbrack {{\overset{\overset{\_}{\_}}{H} \cdot {S(n)} \cdot A \cdot {b(n)}} + \overset{\overset{\_}{\_}}{w}} \right\rbrack}}}} \\ {{= {{A \cdot {b(n)}} + {\left\{ {\left\lbrack {\overset{\overset{\_}{\_}}{H} \cdot {S(n)}} \right\rbrack^{H} \cdot \overset{\overset{\_}{\_}}{H} \cdot {S(n)}} \right\}^{- 1} \cdot \left\lbrack {\overset{\overset{\_}{\_}}{H} \cdot {S(n)}} \right\rbrack^{H} \cdot \overset{\overset{\_}{\_}}{w}}}}} \end{matrix}$

[0040] where {overscore (b)}(n) are the recovered symbols.

[0041] Next, at step 314, the method stores the recovered symbols {overscore (b)}(n) or decoding results generated from them to be used in recovering symbols in subsequent retransmissions. At step 316, the method determines whether all transmitted symbols have been recovered. In the preferred embodiment, the method determines whether “n” is equal to the length of the packet. When “n” is equal to the length of the packet, all symbols have been recovered and the method ends at step 320. When “n” is not equal to the length of the packet, the method increases “n” at step 318 and proceeds to step 304 to repeat the recovery process.

[0042] This invention proposes a method of using the information obtained from the previous transmission of a packet to help recover symbols in the H-ARQ retransmission of the packet. By using the information obtained from the previous transmission of the packet, enhanced decision feedback equalization as described in this invention can be used to better recover symbols from inter-code and inter-symbol interference. This can improve the performance of the receiver, and eventually increase the capacity of the network.

[0043] While the invention may be susceptible to various modifications and alternative forms, a specific embodiment has been shown by way of example in the drawings and has been described in detail herein. However, it should be understood that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modification, equivalents and alternatives falling within the spirit and scope of the invention as defined by the following appended claims. 

What is claimed is:
 1. A method of recovering transmitted symbols in a communication signal of a H-ARQ packet retransmission comprising: receiving a communication signal; determining unwanted components of the signal that are not attributed to desired symbols; removing the unwanted components from the signal to generate a modified communication signal; determining an effective channel impulse response; generating a block filter using the effective channel impulse response; and filtering the modified communication signal using the block filter to remove inter-code interference in the modified signal and recover the desired symbols.
 2. The method of claim 1 further comprising the step of storing one of the recovered symbols and decoding results using recovered symbols for use in recovering symbols in subsequent H-ARQ retransmissions of a packet.
 3. The method of claim 1 wherein the step of receiving a communication signal comprises receiving baseband signal ${y\left( {n + m} \right)},{0 \leq m \leq \left\lceil \frac{L}{P} \right\rceil},$

where $\left\lceil \frac{L}{P} \right\rceil$

represents a maximum number of symbols contributing to intersymbol interference.
 4. The method of claim 1 wherein the step of determining components of the signal that are not attributed to the desired symbols comprises determining the components of ${y\left( {n + m} \right)},{0 \leq m \leq \left\lceil \frac{L}{P} \right\rceil}$

attributed to symbols other than b(n).
 5. The method of claim 1 wherein the step of removing the unwanted components from the signal to generate a modified communication signal comprises subtracting components of ${y\left( {n + m} \right)},{0 \leq m \leq \left\lceil \frac{L}{P} \right\rceil}$

attributed to symbols other than b(n) to generate the modified baseband signal ${\overset{\_}{y}\left( {n + m} \right)},{0 \leq m \leq {\left\lceil \frac{L}{P} \right\rceil.}}$


6. The method of claim 1 wherein the step of determining the effective channel impulse response comprises determining $\overset{\_}{\overset{\_}{H}} = {\begin{bmatrix} H_{0} \\ \vdots \\ H_{\lceil\frac{L}{P}\rceil} \end{bmatrix}_{{\lceil\frac{L}{P}\rceil}P \times P}.}$


7. The method of claim 1 wherein the step of generating a block filter using the effective channel impulse response comprises determining {double overscore (G)}(n)={[{double overscore (H)}·S(n)]^(H)·{double overscore (H)}·S(n)}⁻¹·[{double overscore (H)}·S(n)]^(H).
 8. The method of claim 7 wherein the step of filtering the modified communication signal comprises multiplying block filter {double overscore (G)}(n)={[{double overscore (H)}·S(n)]^(H)·{double overscore (H)}·S(n)}⁻¹·[{double overscore (H)}·S(n)]^(H) by a stacked modified baseband ${{signal}\quad \overset{\_}{\quad \overset{\_}{y}}} = \begin{bmatrix} {{\overset{\_}{y}(n)}\quad} \\ {\vdots \quad} \\ {\overset{\_}{y}\left( {n + \left\lceil \frac{L}{P} \right\rceil} \right)} \end{bmatrix}_{{{\lceil\frac{L}{P}\rceil} \cdot P} \times 1}$

to recover the desired symbols.
 9. A receiver comprising: a receiver front end for receiving a transmitted signal and converting the signal into a baseband signal; a baseband signal processing block operatively coupled to the receiver front end for recovering transmitted symbols in a communication signal of a H-ARQ packet retransmission by receiving the baseband signal, determining components of the baseband signal that are not attributed to desired symbols, removing the unwanted components from the baseband signal to generate a modified signal, determining an effective channel impulse response, generating a block filter using the effective channel impulse response, and using the block filter to remove inter-code interference in the modified signal and recover the transmitted symbols; and a back end operatively coupled to the baseband signal processing block for receiving the recovered symbols and routing the symbols to an intended application. 